<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>DepthSense SDK: DepthSense::Context Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="logo_softkinetic-198x55.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">DepthSense SDK
   
   </div>
   <div id="projectbrief">The DepthSense Software Development Kit</div>
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Properties</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceDepthSense.html">DepthSense</a>      </li>
      <li class="navelem"><a class="el" href="classDepthSense_1_1Context.html">Context</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#properties">Properties</a>  </div>
  <div class="headertitle">
<div class="title">DepthSense::Context Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="DepthSense::Context" --><!-- doxytag: inherits="DepthSense::Interface" -->
<p>Represents an application session.  
 <a href="classDepthSense_1_1Context.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for DepthSense::Context:</div>
<div class="dyncontent">
<div class="center"><img src="classDepthSense_1_1Context__inherit__graph.png" border="0" usemap="#DepthSense_1_1Context_inherit__map" alt="Inheritance graph"/></div>
<map name="DepthSense_1_1Context_inherit__map" id="DepthSense_1_1Context_inherit__map">
<area shape="rect" id="node2" href="classDepthSense_1_1Interface.html" title="The base interface class." alt="" coords="5,5,157,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classDepthSense_1_1Context-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDepthSense_1_1Context_1_1ClientConnectedData.html">ClientConnectedData</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the <a class="el" href="classDepthSense_1_1Context_1_1ClientConnectedEvent.html" title="Event raised when a client connects.">DepthSense::Context::ClientConnectedEvent</a> arguments.  <a href="structDepthSense_1_1Context_1_1ClientConnectedData.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context_1_1ClientConnectedEvent.html">ClientConnectedEvent</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Event raised when a client connects.  <a href="classDepthSense_1_1Context_1_1ClientConnectedEvent.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDepthSense_1_1Context_1_1ClientDisconnectedData.html">ClientDisconnectedData</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the <a class="el" href="classDepthSense_1_1Context_1_1ClientDisconnectedEvent.html" title="Event raised when a client disconnects.">DepthSense::Context::ClientDisconnectedEvent</a> arguments.  <a href="structDepthSense_1_1Context_1_1ClientDisconnectedData.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context_1_1ClientDisconnectedEvent.html">ClientDisconnectedEvent</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Event raised when a client disconnects.  <a href="classDepthSense_1_1Context_1_1ClientDisconnectedEvent.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDepthSense_1_1Context_1_1DeviceAddedData.html">DeviceAddedData</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the <a class="el" href="classDepthSense_1_1Context_1_1DeviceAddedEvent.html" title="Event raised when a camera device is attached to the host.">DepthSense::Context::DeviceAddedEvent</a> arguments.  <a href="structDepthSense_1_1Context_1_1DeviceAddedData.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context_1_1DeviceAddedEvent.html">DeviceAddedEvent</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Event raised when a camera device is attached to the host.  <a href="classDepthSense_1_1Context_1_1DeviceAddedEvent.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDepthSense_1_1Context_1_1DeviceRemovedData.html">DeviceRemovedData</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the <a class="el" href="classDepthSense_1_1Context_1_1DeviceRemovedEvent.html" title="Event raised when a camera device is detached from the host.">DepthSense::Context::DeviceRemovedEvent</a> arguments.  <a href="structDepthSense_1_1Context_1_1DeviceRemovedData.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context_1_1DeviceRemovedEvent.html">DeviceRemovedEvent</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Event raised when a camera device is detached from the host.  <a href="classDepthSense_1_1Context_1_1DeviceRemovedEvent.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classDepthSense_1_1Context_1_1ClientConnectedEvent.html">DepthSense::Context::ClientConnectedEvent</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a4abb9d9e72c959d52eeb47e809b7f2ee">clientConnectedEvent</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>clientConnected</code> event object.  <a href="#a4abb9d9e72c959d52eeb47e809b7f2ee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classDepthSense_1_1Context_1_1ClientDisconnectedEvent.html">DepthSense::Context::ClientDisconnectedEvent</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#abc2d4c48fb51d8f45be3b0085e57afea">clientDisconnectedEvent</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>clientDisconnected</code> event object.  <a href="#abc2d4c48fb51d8f45be3b0085e57afea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classDepthSense_1_1Context_1_1DeviceAddedEvent.html">DepthSense::Context::DeviceAddedEvent</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#ae7dc07417ca2cee73faa09287c9b1d80">deviceAddedEvent</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>deviceAdded</code> event object.  <a href="#ae7dc07417ca2cee73faa09287c9b1d80"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classDepthSense_1_1Context_1_1DeviceRemovedEvent.html">DepthSense::Context::DeviceRemovedEvent</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a22ec6c8de0c480bac739d6482b7fb4d7">deviceRemovedEvent</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <code>deviceRemoved</code> event object.  <a href="#a22ec6c8de0c480bac739d6482b7fb4d7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDepthSense_1_1Version.html">DepthSense::Version</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a56361623a47ae168c0c5532e7b32f470">getClientVersion</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Client-side version information.  <a href="#a56361623a47ae168c0c5532e7b32f470"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classDepthSense_1_1Device.html">DepthSense::Device</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a51b37695a0f5b4dbda6493b2c844912c">getDevices</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the value of the <a class="el" href="classDepthSense_1_1Context.html#adbaea92f9c84bc01941c6746120d6117" title="The list of connected devices.">Context::devices</a> property.  <a href="#a51b37695a0f5b4dbda6493b2c844912c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a651510a4cbf1dccd666c14132e3bf1a9">getRegisteredNodes</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the value of the <a class="el" href="classDepthSense_1_1Context.html#a10a9f313adb1ab0224abc854aaccc17a" title="The list of registered nodes.">Context::registeredNodes</a> property.  <a href="#a651510a4cbf1dccd666c14132e3bf1a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDepthSense_1_1Version.html">DepthSense::Version</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#af128e7f19465dbd00ada020f9b7f1f0f">getServerVersion</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Server-side version information.  <a href="#af128e7f19465dbd00ada020f9b7f1f0f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a250897fddc4f508446034c38825a2c0e">quit</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminates the <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> event loop.  <a href="#a250897fddc4f508446034c38825a2c0e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a907c33e91a33ab8e6ae986fa6d774611">registerNode</a> (<a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a> node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts monitoring a node.  <a href="#a907c33e91a33ab8e6ae986fa6d774611"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#aa490af6913e84b8f47731a8a0aafef2e">releaseControl</a> (<a class="el" href="classDepthSense_1_1Device.html">DepthSense::Device</a> device)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases control of a device.  <a href="#aa490af6913e84b8f47731a8a0aafef2e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a2020046c02adf7701a3f01f53c9362a0">releaseControl</a> (<a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a> node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases control of a node.  <a href="#a2020046c02adf7701a3f01f53c9362a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a93eeb4e463e82ef374fade8dfb7f7936">requestControl</a> (<a class="el" href="classDepthSense_1_1Device.html">DepthSense::Device</a> device)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Requests control of a device.  <a href="#a93eeb4e463e82ef374fade8dfb7f7936"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#acf5117094528d9d265d05caea448df21">requestControl</a> (<a class="el" href="classDepthSense_1_1Device.html">DepthSense::Device</a> device, int32_t timeout)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Requests control of a device.  <a href="#acf5117094528d9d265d05caea448df21"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a4f827bee7490e6d0779a46b958c1a98f">requestControl</a> (<a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a> node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Requests control of a node.  <a href="#a4f827bee7490e6d0779a46b958c1a98f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a6a8e3371012913c7efcc50c3c3481b18">requestControl</a> (<a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a> node, int32_t timeout)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Requests control of a node.  <a href="#a6a8e3371012913c7efcc50c3c3481b18"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a632dff4237ba581f663f78881a2d3f8d">run</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Runs the <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> event loop.  <a href="#a632dff4237ba581f663f78881a2d3f8d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a6e9674066b93018ec1da8002c5ec54e0">startNodes</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the capture on the registered nodes.  <a href="#a6e9674066b93018ec1da8002c5ec54e0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#ad8b12a5986768764a50394b40ef8b478">stopNodes</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops the capture on the registered nodes.  <a href="#ad8b12a5986768764a50394b40ef8b478"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#aca0a0a1f3439eb018685ff6d2f4ce7d0">unregisterNode</a> (<a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a> node)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops monitoring a node.  <a href="#aca0a0a1f3439eb018685ff6d2f4ce7d0"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classDepthSense_1_1Context.html">DepthSense::Context</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a54aa96c5823844eef77c56fcf7580034">create</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to a <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> server.  <a href="#a54aa96c5823844eef77c56fcf7580034"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classDepthSense_1_1Context.html">DepthSense::Context</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a7a5179646360951b8f4238e2cfc06728">create</a> (const char *hostname)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to a <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> server.  <a href="#a7a5179646360951b8f4238e2cfc06728"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classDepthSense_1_1Context.html">DepthSense::Context</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a95b0055e09e6f52bd0aa57c5a193a13b">create</a> (const char *hostname, int32_t port)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Connects to a <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> server.  <a href="#a95b0055e09e6f52bd0aa57c5a193a13b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classDepthSense_1_1Context.html">DepthSense::Context</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a784659b1f69d9a4b5d155208c6ebe4bb">createStandalone</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a standalone <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> context.  <a href="#a784659b1f69d9a4b5d155208c6ebe4bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classDepthSense_1_1Type.html">DepthSense::Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a55155ee097d775eb03020b99f64feab6">type</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="classDepthSense_1_1Context.html" title="Represents an application session.">DepthSense::Context</a> type object.  <a href="#a55155ee097d775eb03020b99f64feab6"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="properties"></a>
Properties</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classDepthSense_1_1Device.html">DepthSense::Device</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#adbaea92f9c84bc01941c6746120d6117">devices</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The list of connected devices.  <a href="#adbaea92f9c84bc01941c6746120d6117"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDepthSense_1_1Context.html#a10a9f313adb1ab0224abc854aaccc17a">registeredNodes</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The list of registered nodes.  <a href="#a10a9f313adb1ab0224abc854aaccc17a"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>The <a class="el" href="classDepthSense_1_1Context.html" title="Represents an application session.">Context</a> class represents an application session (either a standalone session or a TCP/IP client connection). A context can group a number of nodes from different devices for simultaneous monitoring of several stream data sources.</p>
<p>Object instances obtained from a given <a class="el" href="classDepthSense_1_1Context.html" title="Represents an application session.">Context</a> instance (such as the list of devices connected to the host, or the list of nodes belonging to a specific device) are implicitly attached to that <a class="el" href="classDepthSense_1_1Context.html" title="Represents an application session.">Context</a> instance, which is then termed the object's <em>parent context</em>. Any operation performed on a device or node automatically makes use of its parent context. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a4abb9d9e72c959d52eeb47e809b7f2ee"></a><!-- doxytag: member="DepthSense::Context::clientConnectedEvent" ref="a4abb9d9e72c959d52eeb47e809b7f2ee" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classDepthSense_1_1Context_1_1ClientConnectedEvent.html">DepthSense::Context::ClientConnectedEvent</a>&amp; <a class="el" href="classDepthSense_1_1Context.html#a4abb9d9e72c959d52eeb47e809b7f2ee">DepthSense::Context::clientConnectedEvent</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a reference to the <code>clientConnected</code> event object, which can be used to connect handlers to that event.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the <code>clientConnected</code> event object</dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abc2d4c48fb51d8f45be3b0085e57afea"></a><!-- doxytag: member="DepthSense::Context::clientDisconnectedEvent" ref="abc2d4c48fb51d8f45be3b0085e57afea" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classDepthSense_1_1Context_1_1ClientDisconnectedEvent.html">DepthSense::Context::ClientDisconnectedEvent</a>&amp; <a class="el" href="classDepthSense_1_1Context.html#abc2d4c48fb51d8f45be3b0085e57afea">DepthSense::Context::clientDisconnectedEvent</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a reference to the <code>clientDisconnected</code> event object, which can be used to connect handlers to that event.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the <code>clientDisconnected</code> event object</dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a54aa96c5823844eef77c56fcf7580034"></a><!-- doxytag: member="DepthSense::Context::create" ref="a54aa96c5823844eef77c56fcf7580034" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classDepthSense_1_1Context.html">DepthSense::Context</a> <a class="el" href="classDepthSense_1_1Context.html#a54aa96c5823844eef77c56fcf7580034">DepthSense::Context::create</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Connects to host <code>localhost</code>, port <code>6809</code>.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the resulting context</dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>no standalone context must be active in the client application</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a7a5179646360951b8f4238e2cfc06728" title="Connects to a DepthSense server.">create(const char*)</a>, <a class="el" href="classDepthSense_1_1Context.html#a95b0055e09e6f52bd0aa57c5a193a13b" title="Connects to a DepthSense server.">create(const char*, int32_t)</a>, <a class="el" href="classDepthSense_1_1Context.html#a784659b1f69d9a4b5d155208c6ebe4bb" title="Creates a standalone DepthSense context.">createStandalone()</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InvalidOperationException.html" title="The type of the exception thrown when the current state of an object does not support the requested o...">DepthSense::InvalidOperationException</a></td><td>a standalone context is active </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InitializationException.html" title="The type of the exception thrown when an initialization error has occurred.">DepthSense::InitializationException</a></td><td>an initialization error has occurred </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7a5179646360951b8f4238e2cfc06728"></a><!-- doxytag: member="DepthSense::Context::create" ref="a7a5179646360951b8f4238e2cfc06728" args="(const char *hostname)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classDepthSense_1_1Context.html">DepthSense::Context</a> <a class="el" href="classDepthSense_1_1Context.html#a54aa96c5823844eef77c56fcf7580034">DepthSense::Context::create</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>hostname</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Connects to host <code>hostname</code>, port <code>6809</code>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">hostname</td><td>the host or IP address to connect to</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the resulting context</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>the <code>hostname</code> parameter is currently ignored, <code>localhost</code> is always used</dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>no standalone context must be active in the client application</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a54aa96c5823844eef77c56fcf7580034" title="Connects to a DepthSense server.">create()</a>, <a class="el" href="classDepthSense_1_1Context.html#a95b0055e09e6f52bd0aa57c5a193a13b" title="Connects to a DepthSense server.">create(const char*, int32_t)</a>, <a class="el" href="classDepthSense_1_1Context.html#a784659b1f69d9a4b5d155208c6ebe4bb" title="Creates a standalone DepthSense context.">createStandalone()</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InvalidOperationException.html" title="The type of the exception thrown when the current state of an object does not support the requested o...">DepthSense::InvalidOperationException</a></td><td>a standalone context is active </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InitializationException.html" title="The type of the exception thrown when an initialization error has occurred.">DepthSense::InitializationException</a></td><td>an initialization error has occurred </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a95b0055e09e6f52bd0aa57c5a193a13b"></a><!-- doxytag: member="DepthSense::Context::create" ref="a95b0055e09e6f52bd0aa57c5a193a13b" args="(const char *hostname, int32_t port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classDepthSense_1_1Context.html">DepthSense::Context</a> <a class="el" href="classDepthSense_1_1Context.html#a54aa96c5823844eef77c56fcf7580034">DepthSense::Context::create</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>hostname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>port</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Connects to host <code>hostname</code>, port <code>port</code>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">hostname</td><td>the host or IP address to connect to </td></tr>
    <tr><td class="paramname">port</td><td>the port to connect to</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the resulting context</dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>the <code>hostname</code> parameter is currently ignored, <code>localhost</code> is always used</dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>no standalone context must be active in the client application</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a54aa96c5823844eef77c56fcf7580034" title="Connects to a DepthSense server.">create()</a>, <a class="el" href="classDepthSense_1_1Context.html#a7a5179646360951b8f4238e2cfc06728" title="Connects to a DepthSense server.">create(const char*)</a>, <a class="el" href="classDepthSense_1_1Context.html#a784659b1f69d9a4b5d155208c6ebe4bb" title="Creates a standalone DepthSense context.">createStandalone()</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InvalidOperationException.html" title="The type of the exception thrown when the current state of an object does not support the requested o...">DepthSense::InvalidOperationException</a></td><td>a standalone context is active </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InitializationException.html" title="The type of the exception thrown when an initialization error has occurred.">DepthSense::InitializationException</a></td><td>an initialization error has occurred </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a784659b1f69d9a4b5d155208c6ebe4bb"></a><!-- doxytag: member="DepthSense::Context::createStandalone" ref="a784659b1f69d9a4b5d155208c6ebe4bb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classDepthSense_1_1Context.html">DepthSense::Context</a> <a class="el" href="classDepthSense_1_1Context.html#a784659b1f69d9a4b5d155208c6ebe4bb">DepthSense::Context::createStandalone</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Creates a standalone <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> context.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the resulting context</dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>no standalone context must be active in the client application</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a54aa96c5823844eef77c56fcf7580034" title="Connects to a DepthSense server.">create()</a>, <a class="el" href="classDepthSense_1_1Context.html#a7a5179646360951b8f4238e2cfc06728" title="Connects to a DepthSense server.">create(const char*)</a>, <a class="el" href="classDepthSense_1_1Context.html#a95b0055e09e6f52bd0aa57c5a193a13b" title="Connects to a DepthSense server.">create(const char*, int32_t)</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InvalidOperationException.html" title="The type of the exception thrown when the current state of an object does not support the requested o...">DepthSense::InvalidOperationException</a></td><td>a standalone context is active </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InitializationException.html" title="The type of the exception thrown when an initialization error has occurred.">DepthSense::InitializationException</a></td><td>an initialization error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae7dc07417ca2cee73faa09287c9b1d80"></a><!-- doxytag: member="DepthSense::Context::deviceAddedEvent" ref="ae7dc07417ca2cee73faa09287c9b1d80" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classDepthSense_1_1Context_1_1DeviceAddedEvent.html">DepthSense::Context::DeviceAddedEvent</a>&amp; <a class="el" href="classDepthSense_1_1Context.html#ae7dc07417ca2cee73faa09287c9b1d80">DepthSense::Context::deviceAddedEvent</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a reference to the <code>deviceAdded</code> event object, which can be used to connect handlers to that event.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the <code>deviceAdded</code> event object</dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a22ec6c8de0c480bac739d6482b7fb4d7"></a><!-- doxytag: member="DepthSense::Context::deviceRemovedEvent" ref="a22ec6c8de0c480bac739d6482b7fb4d7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classDepthSense_1_1Context_1_1DeviceRemovedEvent.html">DepthSense::Context::DeviceRemovedEvent</a>&amp; <a class="el" href="classDepthSense_1_1Context.html#a22ec6c8de0c480bac739d6482b7fb4d7">DepthSense::Context::deviceRemovedEvent</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a reference to the <code>deviceRemoved</code> event object, which can be used to connect handlers to that event.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the <code>deviceRemoved</code> event object</dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a56361623a47ae168c0c5532e7b32f470"></a><!-- doxytag: member="DepthSense::Context::getClientVersion" ref="a56361623a47ae168c0c5532e7b32f470" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDepthSense_1_1Version.html">DepthSense::Version</a> <a class="el" href="classDepthSense_1_1Context.html#a56361623a47ae168c0c5532e7b32f470">DepthSense::Context::getClientVersion</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The <a class="el" href="classDepthSense_1_1Context.html#a56361623a47ae168c0c5532e7b32f470" title="Client-side version information.">Context::getClientVersion</a> method returns the client-side version information.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the client-side version information</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#af128e7f19465dbd00ada020f9b7f1f0f" title="Server-side version information.">Context::getServerVersion</a> </dd>
<dd>
<a class="el" href="namespaceDepthSense.html#a21cc59aab170d1f6a8c701942cbd5de5" title="Gets the DepthSense Library version information.">getLibraryVersion</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InvalidOperationException.html" title="The type of the exception thrown when the current state of an object does not support the requested o...">DepthSense::InvalidOperationException</a></td><td><code>The</code> current context is unset, or not connected to the <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> server, or is a standalone context </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a51b37695a0f5b4dbda6493b2c844912c"></a><!-- doxytag: member="DepthSense::Context::getDevices" ref="a51b37695a0f5b4dbda6493b2c844912c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; <a class="el" href="classDepthSense_1_1Device.html">DepthSense::Device</a> &gt; <a class="el" href="classDepthSense_1_1Context.html#a51b37695a0f5b4dbda6493b2c844912c">DepthSense::Context::getDevices</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the value of the <a class="el" href="classDepthSense_1_1Context.html#adbaea92f9c84bc01941c6746120d6117" title="The list of connected devices.">Context::devices</a> property.</p>
<p>The <a class="el" href="classDepthSense_1_1Context.html#adbaea92f9c84bc01941c6746120d6117" title="The list of connected devices.">Context::devices</a> property contains the list of camera devices attached to the host.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the value of the <a class="el" href="classDepthSense_1_1Context.html#adbaea92f9c84bc01941c6746120d6117" title="The list of connected devices.">Context::devices</a> property</dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a651510a4cbf1dccd666c14132e3bf1a9"></a><!-- doxytag: member="DepthSense::Context::getRegisteredNodes" ref="a651510a4cbf1dccd666c14132e3bf1a9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; <a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a> &gt; <a class="el" href="classDepthSense_1_1Context.html#a651510a4cbf1dccd666c14132e3bf1a9">DepthSense::Context::getRegisteredNodes</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the value of the <a class="el" href="classDepthSense_1_1Context.html#a10a9f313adb1ab0224abc854aaccc17a" title="The list of registered nodes.">Context::registeredNodes</a> property.</p>
<p>The <a class="el" href="classDepthSense_1_1Context.html#a10a9f313adb1ab0224abc854aaccc17a" title="The list of registered nodes.">Context::registeredNodes</a> property contains the list of nodes registered with <a class="el" href="classDepthSense_1_1Context.html#a907c33e91a33ab8e6ae986fa6d774611" title="Starts monitoring a node.">registerNode()</a>.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a907c33e91a33ab8e6ae986fa6d774611" title="Starts monitoring a node.">registerNode()</a>, <a class="el" href="classDepthSense_1_1Context.html#aca0a0a1f3439eb018685ff6d2f4ce7d0" title="Stops monitoring a node.">unregisterNode()</a></dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the value of the <a class="el" href="classDepthSense_1_1Context.html#a10a9f313adb1ab0224abc854aaccc17a" title="The list of registered nodes.">Context::registeredNodes</a> property</dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af128e7f19465dbd00ada020f9b7f1f0f"></a><!-- doxytag: member="DepthSense::Context::getServerVersion" ref="af128e7f19465dbd00ada020f9b7f1f0f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structDepthSense_1_1Version.html">DepthSense::Version</a> <a class="el" href="classDepthSense_1_1Context.html#af128e7f19465dbd00ada020f9b7f1f0f">DepthSense::Context::getServerVersion</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The <a class="el" href="classDepthSense_1_1Context.html#af128e7f19465dbd00ada020f9b7f1f0f" title="Server-side version information.">Context::getServerVersion</a> method returns the server-side version information.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the server-side version information</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a56361623a47ae168c0c5532e7b32f470" title="Client-side version information.">Context::getClientVersion</a> </dd>
<dd>
<a class="el" href="namespaceDepthSense.html#a21cc59aab170d1f6a8c701942cbd5de5" title="Gets the DepthSense Library version information.">getLibraryVersion</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InvalidOperationException.html" title="The type of the exception thrown when the current state of an object does not support the requested o...">DepthSense::InvalidOperationException</a></td><td><code>The</code> current context is unset, or not connected to the <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> server, or is a standalone context </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a250897fddc4f508446034c38825a2c0e"></a><!-- doxytag: member="DepthSense::Context::quit" ref="a250897fddc4f508446034c38825a2c0e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDepthSense_1_1Context.html#a250897fddc4f508446034c38825a2c0e">DepthSense::Context::quit</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Terminates the <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> event loop.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a632dff4237ba581f663f78881a2d3f8d" title="Runs the DepthSense event loop.">run()</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InvalidOperationException.html" title="The type of the exception thrown when the current state of an object does not support the requested o...">DepthSense::InvalidOperationException</a></td><td>the <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> event loop is not running in the current application </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a907c33e91a33ab8e6ae986fa6d774611"></a><!-- doxytag: member="DepthSense::Context::registerNode" ref="a907c33e91a33ab8e6ae986fa6d774611" args="(DepthSense::Node node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDepthSense_1_1Context.html#a907c33e91a33ab8e6ae986fa6d774611">DepthSense::Context::registerNode</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a>&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Registers a node with the current context. All registered nodes will be used as actual stream data sources. If the streaming is already started, the registered node will automatically start streaming.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td>the node to be registered</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#aca0a0a1f3439eb018685ff6d2f4ce7d0" title="Stops monitoring a node.">unregisterNode()</a>, <a class="el" href="classDepthSense_1_1Context.html#a651510a4cbf1dccd666c14132e3bf1a9" title="Gets the value of the Context::registeredNodes property.">getRegisteredNodes()</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1ArgumentException.html" title="The type of the exception thrown when an argument is unset or invalid.">DepthSense::ArgumentException</a></td><td><code>node</code> is unset, already registered or the node is an <a class="el" href="classDepthSense_1_1UnsupportedNode.html" title="Represents an unsupported stream data source.">DepthSense::UnsupportedNode</a> node </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1StreamingException.html" title="The type of the exception thrown when a streaming error has occurred.">DepthSense::StreamingException</a></td><td>a streaming error has occured </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1ConfigurationException.html" title="The type of the exception thrown when a valid configuration failed to apply.">DepthSense::ConfigurationException</a></td><td>a valid configuration failed to apply </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InvalidOperationException.html" title="The type of the exception thrown when the current state of an object does not support the requested o...">DepthSense::InvalidOperationException</a></td><td>when video synchronization is enabled, the configurations of the depth and color nodes are incompatible </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa490af6913e84b8f47731a8a0aafef2e"></a><!-- doxytag: member="DepthSense::Context::releaseControl" ref="aa490af6913e84b8f47731a8a0aafef2e" args="(DepthSense::Device device)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDepthSense_1_1Context.html#aa490af6913e84b8f47731a8a0aafef2e">DepthSense::Context::releaseControl</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classDepthSense_1_1Device.html">DepthSense::Device</a>&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Releases full control access on <code>device</code>. If other clients/contexts are waiting for full control access on the same device or one of its nodes, control will be transferred to one of them, chosen randomly.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>the device to release control of</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a93eeb4e463e82ef374fade8dfb7f7936" title="Requests control of a device.">requestControl(Device)</a>, <a class="el" href="classDepthSense_1_1Context.html#acf5117094528d9d265d05caea448df21" title="Requests control of a device.">requestControl(Device, int32_t)</a>, <a class="el" href="classDepthSense_1_1Context.html#a4f827bee7490e6d0779a46b958c1a98f" title="Requests control of a node.">requestControl(Node)</a>, <a class="el" href="classDepthSense_1_1Context.html#a6a8e3371012913c7efcc50c3c3481b18" title="Requests control of a node.">requestControl(Node, int32_t)</a>, <a class="el" href="classDepthSense_1_1Context.html#a2020046c02adf7701a3f01f53c9362a0" title="Releases control of a node.">releaseControl(Node)</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1ArgumentException.html" title="The type of the exception thrown when an argument is unset or invalid.">DepthSense::ArgumentException</a></td><td><code>device</code> is unset, has been disconnected from the host, or the current context does not control it </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2020046c02adf7701a3f01f53c9362a0"></a><!-- doxytag: member="DepthSense::Context::releaseControl" ref="a2020046c02adf7701a3f01f53c9362a0" args="(DepthSense::Node node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDepthSense_1_1Context.html#aa490af6913e84b8f47731a8a0aafef2e">DepthSense::Context::releaseControl</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a>&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Releases full control access on <code>node</code>. If other clients/contexts are waiting for full control access on the same node control will be transferred to one of them, chosen randomly.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td>the node to release control of</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a93eeb4e463e82ef374fade8dfb7f7936" title="Requests control of a device.">requestControl(Device)</a>, <a class="el" href="classDepthSense_1_1Context.html#acf5117094528d9d265d05caea448df21" title="Requests control of a device.">requestControl(Device, int32_t)</a>, <a class="el" href="classDepthSense_1_1Context.html#a4f827bee7490e6d0779a46b958c1a98f" title="Requests control of a node.">requestControl(Node)</a>, <a class="el" href="classDepthSense_1_1Context.html#a6a8e3371012913c7efcc50c3c3481b18" title="Requests control of a node.">requestControl(Node, int32_t)</a>, <a class="el" href="classDepthSense_1_1Context.html#aa490af6913e84b8f47731a8a0aafef2e" title="Releases control of a device.">releaseControl(Device)</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1ArgumentException.html" title="The type of the exception thrown when an argument is unset or invalid.">DepthSense::ArgumentException</a></td><td><code>node</code> is unset, has been disconnected from the host, or the current context does not control it </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a93eeb4e463e82ef374fade8dfb7f7936"></a><!-- doxytag: member="DepthSense::Context::requestControl" ref="a93eeb4e463e82ef374fade8dfb7f7936" args="(DepthSense::Device device)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDepthSense_1_1Context.html#a93eeb4e463e82ef374fade8dfb7f7936">DepthSense::Context::requestControl</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classDepthSense_1_1Device.html">DepthSense::Device</a>&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Requests full control access on <code>device</code> and its nodes. This method provides a cooperation mechanism which allows multiple clients to share control over a specific camera device. Only one client (i.e. one context) at a time can modify the configuration of a device or any of its exposed properties.</p>
<p>This methods blocks indefinitely until control is granted to the caller or the device is detached from the host system.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>the device to request control of</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#acf5117094528d9d265d05caea448df21" title="Requests control of a device.">requestControl(Device, int32_t)</a>, <a class="el" href="classDepthSense_1_1Context.html#a4f827bee7490e6d0779a46b958c1a98f" title="Requests control of a node.">requestControl(Node)</a>, <a class="el" href="classDepthSense_1_1Context.html#a6a8e3371012913c7efcc50c3c3481b18" title="Requests control of a node.">requestControl(Node, int32_t)</a>, <a class="el" href="classDepthSense_1_1Context.html#aa490af6913e84b8f47731a8a0aafef2e" title="Releases control of a device.">releaseControl(Device)</a>, <a class="el" href="classDepthSense_1_1Context.html#a2020046c02adf7701a3f01f53c9362a0" title="Releases control of a node.">releaseControl(Node)</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1ArgumentException.html" title="The type of the exception thrown when an argument is unset or invalid.">DepthSense::ArgumentException</a></td><td><code>device</code> is unset, has been disconnected from the host, or the current context already controls it </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acf5117094528d9d265d05caea448df21"></a><!-- doxytag: member="DepthSense::Context::requestControl" ref="acf5117094528d9d265d05caea448df21" args="(DepthSense::Device device, int32_t timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDepthSense_1_1Context.html#a93eeb4e463e82ef374fade8dfb7f7936">DepthSense::Context::requestControl</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classDepthSense_1_1Device.html">DepthSense::Device</a>&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Requests full control access on <code>device</code> and its nodes. This method provides a cooperation mechanism which allows multiple clients to share control over a specific camera device. Only one client (i.e. one context) at a time can modify the configuration of a device or any of its exposed properties. This method will try to request the control of all the nodes of the <a class="el" href="classDepthSense_1_1Device.html" title="Represents a camera device.">DepthSense::Device</a>. In case of failure, none of the nodes will be controlled. When a context has the control over a <a class="el" href="classDepthSense_1_1Device.html" title="Represents a camera device.">DepthSense::Device</a>, the context will be granted control on any new node added to the <a class="el" href="classDepthSense_1_1Device.html" title="Represents a camera device.">DepthSense::Device</a>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>the device to request control of </td></tr>
    <tr><td class="paramname">timeout</td><td>the timeout in milliseconds</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a93eeb4e463e82ef374fade8dfb7f7936" title="Requests control of a device.">requestControl(Device)</a>, <a class="el" href="classDepthSense_1_1Context.html#a4f827bee7490e6d0779a46b958c1a98f" title="Requests control of a node.">requestControl(Node)</a>, <a class="el" href="classDepthSense_1_1Context.html#a6a8e3371012913c7efcc50c3c3481b18" title="Requests control of a node.">requestControl(Node, int32_t)</a>, <a class="el" href="classDepthSense_1_1Context.html#aa490af6913e84b8f47731a8a0aafef2e" title="Releases control of a device.">releaseControl(Device)</a>, <a class="el" href="classDepthSense_1_1Context.html#a2020046c02adf7701a3f01f53c9362a0" title="Releases control of a node.">releaseControl(Node)</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1ArgumentException.html" title="The type of the exception thrown when an argument is unset or invalid.">DepthSense::ArgumentException</a></td><td><code>device</code> is unset, has been disconnected from the host, or the current context already controls it </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TimeoutException.html" title="The type of the exception thrown when a timeout condition occurs.">DepthSense::TimeoutException</a></td><td><code>timeout</code> has expired before control could be obtained </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4f827bee7490e6d0779a46b958c1a98f"></a><!-- doxytag: member="DepthSense::Context::requestControl" ref="a4f827bee7490e6d0779a46b958c1a98f" args="(DepthSense::Node node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDepthSense_1_1Context.html#a93eeb4e463e82ef374fade8dfb7f7936">DepthSense::Context::requestControl</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a>&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Requests full control access on <code>node</code>. This method provides a cooperation mechanism which allows multiple clients to share control over a specific camera device node. Only one client (i.e. one context) at a time can modify the configuration of a node or any of its exposed properties.</p>
<p>This methods blocks indefinitely until control is granted to the caller or the node is detached from the host system.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td>the node to request control of</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a93eeb4e463e82ef374fade8dfb7f7936" title="Requests control of a device.">requestControl(Device)</a>, <a class="el" href="classDepthSense_1_1Context.html#acf5117094528d9d265d05caea448df21" title="Requests control of a device.">requestControl(Device, int32_t)</a>, <a class="el" href="classDepthSense_1_1Context.html#a6a8e3371012913c7efcc50c3c3481b18" title="Requests control of a node.">requestControl(Node, int32_t)</a>, <a class="el" href="classDepthSense_1_1Context.html#aa490af6913e84b8f47731a8a0aafef2e" title="Releases control of a device.">releaseControl(Device)</a>, <a class="el" href="classDepthSense_1_1Context.html#a2020046c02adf7701a3f01f53c9362a0" title="Releases control of a node.">releaseControl(Node)</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1ArgumentException.html" title="The type of the exception thrown when an argument is unset or invalid.">DepthSense::ArgumentException</a></td><td><code>node</code> is unset, has been disconnected from the host, the current context already controls it, or the node is an <a class="el" href="classDepthSense_1_1UnsupportedNode.html" title="Represents an unsupported stream data source.">DepthSense::UnsupportedNode</a> node </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6a8e3371012913c7efcc50c3c3481b18"></a><!-- doxytag: member="DepthSense::Context::requestControl" ref="a6a8e3371012913c7efcc50c3c3481b18" args="(DepthSense::Node node, int32_t timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDepthSense_1_1Context.html#a93eeb4e463e82ef374fade8dfb7f7936">DepthSense::Context::requestControl</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a>&#160;</td>
          <td class="paramname"><em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Requests full control access on <code>node</code>. This method provides a cooperation mechanism which allows multiple clients to share control over a specific camera device node. Only one client (i.e. one context) at a time can modify the configuration of a node or any of its exposed properties.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td>the node to request control of </td></tr>
    <tr><td class="paramname">timeout</td><td>the timeout in milliseconds</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a93eeb4e463e82ef374fade8dfb7f7936" title="Requests control of a device.">requestControl(Device)</a>, <a class="el" href="classDepthSense_1_1Context.html#acf5117094528d9d265d05caea448df21" title="Requests control of a device.">requestControl(Device, int32_t)</a>, <a class="el" href="classDepthSense_1_1Context.html#a4f827bee7490e6d0779a46b958c1a98f" title="Requests control of a node.">requestControl(Node)</a>, <a class="el" href="classDepthSense_1_1Context.html#aa490af6913e84b8f47731a8a0aafef2e" title="Releases control of a device.">releaseControl(Device)</a>, <a class="el" href="classDepthSense_1_1Context.html#a2020046c02adf7701a3f01f53c9362a0" title="Releases control of a node.">releaseControl(Node)</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1ArgumentException.html" title="The type of the exception thrown when an argument is unset or invalid.">DepthSense::ArgumentException</a></td><td><code>node</code> is unset, has been disconnected from the host, the current context already controls it, or the node is an <a class="el" href="classDepthSense_1_1UnsupportedNode.html" title="Represents an unsupported stream data source.">DepthSense::UnsupportedNode</a> node </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TimeoutException.html" title="The type of the exception thrown when a timeout condition occurs.">DepthSense::TimeoutException</a></td><td><code>timeout</code> has expired before control could be obtained </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a632dff4237ba581f663f78881a2d3f8d"></a><!-- doxytag: member="DepthSense::Context::run" ref="a632dff4237ba581f663f78881a2d3f8d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDepthSense_1_1Context.html#a632dff4237ba581f663f78881a2d3f8d">DepthSense::Context::run</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Runs the <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> event loop. The connected event handlers are run in the thread that called <a class="el" href="classDepthSense_1_1Context.html#a632dff4237ba581f663f78881a2d3f8d" title="Runs the DepthSense event loop.">run()</a>.</p>
<p>If the server throws an exception asynchronously (that is, not in reaction to a method call or property assignment/retrieval), it will be propagated to this method.</p>
<p>To exit the event loop, call <a class="el" href="classDepthSense_1_1Context.html#a250897fddc4f508446034c38825a2c0e" title="Terminates the DepthSense event loop.">quit()</a>.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a250897fddc4f508446034c38825a2c0e" title="Terminates the DepthSense event loop.">quit()</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InvalidOperationException.html" title="The type of the exception thrown when the current state of an object does not support the requested o...">DepthSense::InvalidOperationException</a></td><td>the <a class="el" href="namespaceDepthSense.html" title="The DepthSense Software Development Kit.">DepthSense</a> event loop is already running in the current application </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InitializationException.html" title="The type of the exception thrown when an initialization error has occurred.">DepthSense::InitializationException</a></td><td>an initialization error has occurred </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1StreamingException.html" title="The type of the exception thrown when a streaming error has occurred.">DepthSense::StreamingException</a></td><td>a streaming error has occurred </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1ConfigurationException.html" title="The type of the exception thrown when a valid configuration failed to apply.">DepthSense::ConfigurationException</a></td><td>a valid configuration failed to apply </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1IOException.html" title="The type of the exception throw when a device or file I/O operation has failed.">DepthSense::IOException</a></td><td>a device I/O operation has failed </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6e9674066b93018ec1da8002c5ec54e0"></a><!-- doxytag: member="DepthSense::Context::startNodes" ref="a6e9674066b93018ec1da8002c5ec54e0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDepthSense_1_1Context.html#a6e9674066b93018ec1da8002c5ec54e0">DepthSense::Context::startNodes</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Starts the capture (streaming) on the nodes registered with the current context.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#ad8b12a5986768764a50394b40ef8b478" title="Stops the capture on the registered nodes.">stopNodes()</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1ConfigurationException.html" title="The type of the exception thrown when a valid configuration failed to apply.">DepthSense::ConfigurationException</a></td><td>a valid node configuration failed to apply </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1StreamingException.html" title="The type of the exception thrown when a streaming error has occurred.">DepthSense::StreamingException</a></td><td>streaming could not be started </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1InvalidOperationException.html" title="The type of the exception thrown when the current state of an object does not support the requested o...">DepthSense::InvalidOperationException</a></td><td>when video synchronization is enabled, the configurations of the depth and color nodes are incompatible </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad8b12a5986768764a50394b40ef8b478"></a><!-- doxytag: member="DepthSense::Context::stopNodes" ref="ad8b12a5986768764a50394b40ef8b478" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDepthSense_1_1Context.html#ad8b12a5986768764a50394b40ef8b478">DepthSense::Context::stopNodes</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Stops the capture (streaming) on the nodes registered with the current context.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a6e9674066b93018ec1da8002c5ec54e0" title="Starts the capture on the registered nodes.">startNodes()</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1StreamingException.html" title="The type of the exception thrown when a streaming error has occurred.">DepthSense::StreamingException</a></td><td>streaming could not be stopped </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a55155ee097d775eb03020b99f64feab6"></a><!-- doxytag: member="DepthSense::Context::type" ref="a55155ee097d775eb03020b99f64feab6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classDepthSense_1_1Type.html">DepthSense::Type</a> <a class="el" href="classDepthSense_1_1Context.html#a55155ee097d775eb03020b99f64feab6">DepthSense::Context::type</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the <a class="el" href="classDepthSense_1_1Context.html" title="Represents an application session.">DepthSense::Context</a> type object</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the <a class="el" href="classDepthSense_1_1Context.html" title="Represents an application session.">DepthSense::Context</a> type object</dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classDepthSense_1_1Interface.html#a12f0783f3b1d2f077aae21ecdc0d2ced">DepthSense::Interface</a>.</p>

</div>
</div>
<a class="anchor" id="aca0a0a1f3439eb018685ff6d2f4ce7d0"></a><!-- doxytag: member="DepthSense::Context::unregisterNode" ref="aca0a0a1f3439eb018685ff6d2f4ce7d0" args="(DepthSense::Node node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classDepthSense_1_1Context.html#aca0a0a1f3439eb018685ff6d2f4ce7d0">DepthSense::Context::unregisterNode</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a>&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Removes the specified node from the list of monitored nodes of the current context.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td>the node to be unregistered</td></tr>
  </table>
  </dd>
</dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd>The provided node must have been subject to a prior call to <a class="el" href="classDepthSense_1_1Context.html#a907c33e91a33ab8e6ae986fa6d774611" title="Starts monitoring a node.">registerNode()</a>.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a907c33e91a33ab8e6ae986fa6d774611" title="Starts monitoring a node.">registerNode()</a>, <a class="el" href="classDepthSense_1_1Context.html#a651510a4cbf1dccd666c14132e3bf1a9" title="Gets the value of the Context::registeredNodes property.">getRegisteredNodes()</a></dd></dl>
<dl class="exception"><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1ArgumentException.html" title="The type of the exception thrown when an argument is unset or invalid.">DepthSense::ArgumentException</a></td><td><code>node</code> is unset or not registered </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1StreamingException.html" title="The type of the exception thrown when a streaming error has occurred.">DepthSense::StreamingException</a></td><td>a streaming error has occured </td></tr>
    <tr><td class="paramname"><a class="el" href="classDepthSense_1_1TransportException.html" title="The type of the exception thrown when a network or protocol error has occurred.">DepthSense::TransportException</a></td><td>a network or protocol error has occurred </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>not enough memory to perform the requested operation </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Property Documentation</h2>
<a class="anchor" id="adbaea92f9c84bc01941c6746120d6117"></a><!-- doxytag: member="DepthSense::Context::devices" ref="adbaea92f9c84bc01941c6746120d6117" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; <a class="el" href="classDepthSense_1_1Device.html">DepthSense::Device</a> &gt; <a class="el" href="classDepthSense_1_1Context.html#adbaea92f9c84bc01941c6746120d6117">DepthSense::Context::devices</a><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The <a class="el" href="classDepthSense_1_1Context.html#adbaea92f9c84bc01941c6746120d6117" title="The list of connected devices.">Context::devices</a> property contains the list of camera devices attached to the host. </p>

</div>
</div>
<a class="anchor" id="a10a9f313adb1ab0224abc854aaccc17a"></a><!-- doxytag: member="DepthSense::Context::registeredNodes" ref="a10a9f313adb1ab0224abc854aaccc17a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; <a class="el" href="classDepthSense_1_1Node.html">DepthSense::Node</a> &gt; <a class="el" href="classDepthSense_1_1Context.html#a10a9f313adb1ab0224abc854aaccc17a">DepthSense::Context::registeredNodes</a><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The <a class="el" href="classDepthSense_1_1Context.html#a10a9f313adb1ab0224abc854aaccc17a" title="The list of registered nodes.">Context::registeredNodes</a> property contains the list of nodes registered with <a class="el" href="classDepthSense_1_1Context.html#a907c33e91a33ab8e6ae986fa6d774611" title="Starts monitoring a node.">registerNode()</a>.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classDepthSense_1_1Context.html#a907c33e91a33ab8e6ae986fa6d774611" title="Starts monitoring a node.">registerNode()</a>, <a class="el" href="classDepthSense_1_1Context.html#aca0a0a1f3439eb018685ff6d2f4ce7d0" title="Stops monitoring a node.">unregisterNode()</a> </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Properties</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Tue Feb 10 2015 22:37:23 for DepthSense SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>
